﻿using System;
using System.Collections.Generic;
using Ue.Eagle.Runtime.Models;

namespace Ue.Eagle.Runtime
{
    public interface IPluginManager
    {
        IEnumerable<PluginDescriptor> AvailablePlugins();
        IEnumerable<PluginExtensionPoint> AvailableExtensionPoints();
        IEnumerable<PluginExtension> AvailableExtensions();

        PluginDescriptor GetPlugin(string pluginId);

        IEnumerable<PluginExtension> GetExtensions(string pointId);
        PluginExtensionPoint GetExtensionPoint(string pointId);
    }
}
